<html>
<head><meta charset="utf-8"><title>Suitable first contribution task · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html">Suitable first contribution task</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="204797949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204797949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204797949">(Jul 23 2020 at 13:40)</a>:</h4>
<p>I am trying to solve <a href="https://github.com/rust-lang/chalk/issues/560">chalk's #560</a>. I have found some changes for both chalk and rustc that I think would work, but now I'm not sure how to test these changes.</p>
<p>Should I try to make this change in both projects at once, and run their tests while referring to the latest version? That would be quite a version increase, so this seems unlikely. But if that's the case, how can I do this in CI? Or would the changes happening be more independent?</p>
<p>Any pointers would be appreciated!</p>



<a name="204799754"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204799754" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204799754">(Jul 23 2020 at 13:55)</a>:</h4>
<p>If one of the PRs depends on the other being merged first, you can specify that git branch in Cargo.toml</p>



<a name="204800147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204800147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204800147">(Jul 23 2020 at 13:58)</a>:</h4>
<p>I wouldn't recommend trying to do both changes at once, that'll only really be possible if chalk becomes a subtree of rustc later on</p>



<a name="204800498"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204800498" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204800498">(Jul 23 2020 at 14:00)</a>:</h4>
<p>Easiest thing to do for now is to change one side first, possibly splitting it up to a 3-step process (e.g. rustc-&gt;chalk-&gt;rustc) if you can't get it to be backwards-compatible</p>



<a name="204815659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204815659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204815659">(Jul 23 2020 at 15:53)</a>:</h4>
<p>So, for this issue in particular, it should be fairly simple. (Literally just deleting the force_impl_for function). If you want to test that the changes are going to be good in the rustc integration, you can change the rustc version to point to a git commit to test locally.</p>



<a name="204815757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204815757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204815757">(Jul 23 2020 at 15:54)</a>:</h4>
<p>Which is what I do when I'm upgrading the rustc integration and need to make some changes to chalk. Or am testing new chalk changes and how they affect rustc integration</p>



<a name="204860949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204860949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204860949">(Jul 23 2020 at 22:32)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> thanks for your comments, I just figured this out. It seems like <a href="https://github.com/rust-lang/rust/blob/master/src/librustc_traits/chalk/db.rs#L148">this</a> needs to be changed as well, I was thinking:</p>
<div class="codehilite"><pre><span></span><code><span class="kd">let</span><span class="w"> </span><span class="n">fields</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">adt_def</span><span class="w"></span>
<span class="w">    </span><span class="p">.</span><span class="n">variants</span><span class="w"></span>
<span class="w">    </span><span class="p">.</span><span class="n">iter</span><span class="p">()</span><span class="w"></span>
<span class="w">    </span><span class="p">.</span><span class="n">flat_map</span><span class="p">(</span><span class="o">|</span><span class="n">variant</span><span class="o">|</span><span class="w"> </span><span class="n">variant</span><span class="p">.</span><span class="n">fields</span><span class="p">.</span><span class="n">iter</span><span class="p">())</span><span class="w"></span>
<span class="w">    </span><span class="p">.</span><span class="n">map</span><span class="p">(</span><span class="o">|</span><span class="n">field</span><span class="o">|</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="bp">self</span><span class="p">.</span><span class="n">tcx</span><span class="p">.</span><span class="n">type_of</span><span class="p">(</span><span class="n">field</span><span class="p">.</span><span class="n">did</span><span class="p">).</span><span class="n">subst</span><span class="p">(</span><span class="bp">self</span><span class="p">.</span><span class="n">tcx</span><span class="p">,</span><span class="w"> </span><span class="n">bound_vars</span><span class="p">).</span><span class="n">lower_into</span><span class="p">(</span><span class="o">&amp;</span><span class="bp">self</span><span class="p">.</span><span class="n">interner</span><span class="p">)</span><span class="w"></span>
<span class="w">    </span><span class="p">})</span><span class="w"></span>
<span class="w">    </span><span class="p">.</span><span class="n">collect</span><span class="p">();</span><span class="w"></span>
</code></pre></div>


<p>Does that seem okay to you, or should I not touch this code?</p>
<p>And then there is <a href="https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ra_hir_ty/src/traits/chalk.rs#L196">rust-analyzer</a>, I think that function too can be removed.</p>



<a name="204861109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861109">(Jul 23 2020 at 22:34)</a>:</h4>
<p>Well, it will no longer be fields, but instead variants</p>



<a name="204861133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861133">(Jul 23 2020 at 22:35)</a>:</h4>
<p>Is this the only breaking change for chalk since the last rustc integration version? Somewhat surprising</p>



<a name="204861167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861167">(Jul 23 2020 at 22:35)</a>:</h4>
<p>But essentially, each variant should map to an <a href="https://github.com/rust-lang/chalk/blob/master/chalk-solve/src/rust_ir.rs#L113"><code>AdtVariantDatum</code></a></p>



<a name="204861529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861529">(Jul 23 2020 at 22:40)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> what do you mean exactly with "breaking change"? I was able to test the modified rustc code, in other words, I expect the CI on <a href="https://github.com/rust-lang/rust/pull/74700">https://github.com/rust-lang/rust/pull/74700</a> to pass.</p>
<p>P.S. I tried to request you as a reviewer, but this didn't work, how should I do that differently? I tried to follow <a href="https://rustc-dev-guide.rust-lang.org/getting-started.html?highlight=review#code-review">these instructions from the book</a>.</p>



<a name="204861595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861595">(Jul 23 2020 at 22:41)</a>:</h4>
<p>If it builds locally it's probably good</p>



<a name="204861598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861598">(Jul 23 2020 at 22:42)</a>:</h4>
<p>I'm not in the reviewer queue</p>



<a name="204861635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861635">(Jul 23 2020 at 22:42)</a>:</h4>
<p>But I will review</p>



<a name="204861664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861664">(Jul 23 2020 at 22:42)</a>:</h4>
<p>Oh</p>



<a name="204861674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861674">(Jul 23 2020 at 22:43)</a>:</h4>
<p>So, the changes need to be made to Chalk first</p>



<a name="204861683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861683">(Jul 23 2020 at 22:43)</a>:</h4>
<p>With a new version</p>



<a name="204861918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861918">(Jul 23 2020 at 22:47)</a>:</h4>
<p>The version of Chalk used in the integration (0.14.0) doesn't have proper support for enums</p>



<a name="204861953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204861953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204861953">(Jul 23 2020 at 22:47)</a>:</h4>
<p>That is what I suspected and why I opened this thread in the first place. When the build seemed to pass (at least locally, waiting for CI), I thought the problem was solved.</p>



<a name="204862012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862012">(Jul 23 2020 at 22:48)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> thanks for taking the time, by the way, I appreciate it.</p>



<a name="204862101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862101">(Jul 23 2020 at 22:49)</a>:</h4>
<p>Yeah, you probably won't get any test failures in rustc with those changes alone, but that's mostly because Chalk-only tests are fairly lacking right now</p>



<a name="204862110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862110">(Jul 23 2020 at 22:49)</a>:</h4>
<p>Of course :)</p>



<a name="204862124"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862124" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862124">(Jul 23 2020 at 22:50)</a>:</h4>
<p>So, yeah, to be clear:</p>



<a name="204862173"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862173" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862173">(Jul 23 2020 at 22:50)</a>:</h4>
<p>The steps to move forward here are:</p>



<a name="204862191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862191">(Jul 23 2020 at 22:50)</a>:</h4>
<p>In Chalk, literally only need to remove the <code>force_impl_for</code> function and PR :)</p>



<a name="204862242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862242">(Jul 23 2020 at 22:51)</a>:</h4>
<p>When that's done, we can either just manually publish or wait until Saturday night</p>



<a name="204862279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862279">(Jul 23 2020 at 22:51)</a>:</h4>
<p>For rustc, if you want, you can update the <code>librustc_middle</code> and <code>librustc_traits</code> crates.toml to the latest published Chalk (with the fn removed)</p>



<a name="204862326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862326">(Jul 23 2020 at 22:52)</a>:</h4>
<p>then you'll have to go through the breaking changes</p>



<a name="204862430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862430">(Jul 23 2020 at 22:53)</a>:</h4>
<p>If you don't want to do the rustc update, that's okay too. It's a simple enough change to tack on to whenever I or whoever else <em>does</em> do the rustc update.</p>



<a name="204862490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862490">(Jul 23 2020 at 22:54)</a>:</h4>
<p>But of course, if you <em>do</em> want to, I'll answer any questions and such</p>



<a name="204862551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862551">(Jul 23 2020 at 22:55)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/Change.20that.20affects.20both.20chalk.20and.20rustc/near/204862191">said</a>:</p>
<blockquote>
<p>In Chalk, literally only need to remove the <code>force_impl_for</code> function and PR :)</p>
</blockquote>
<p><a href="https://github.com/rust-lang/chalk/pull/583">https://github.com/rust-lang/chalk/pull/583</a></p>



<a name="204862669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204862669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204862669">(Jul 23 2020 at 22:56)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/Change.20that.20affects.20both.20chalk.20and.20rustc/near/204862279">said</a>:</p>
<blockquote>
<p>For rustc, if you want, you can update the <code>librustc_middle</code> and <code>librustc_traits</code> crates.toml to the latest published Chalk (with the fn removed)</p>
</blockquote>
<p>I'll try this now. Might be a bit heavy and it's getting late in Europe, so probably won't finish tonight.</p>



<a name="204864204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204864204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204864204">(Jul 23 2020 at 23:16)</a>:</h4>
<p><span class="user-mention silent" data-user-id="323979">Bram van den Heuvel</span> <a href="#narrow/stream/144729-wg-traits/topic/Change.20that.20affects.20both.20chalk.20and.20rustc/near/204862551">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/Change.20that.20affects.20both.20chalk.20and.20rustc/near/204862191">said</a>:</p>
<blockquote>
<p>In Chalk, literally only need to remove the <code>force_impl_for</code> function and PR :)</p>
</blockquote>
<p><a href="https://github.com/rust-lang/chalk/pull/583">https://github.com/rust-lang/chalk/pull/583</a></p>
</blockquote>
<p>This got merged now. If publishing a new version is a hassle, this could wait until Saturday. Otherwise, I guess it would be nice.</p>



<a name="204864848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204864848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204864848">(Jul 23 2020 at 23:27)</a>:</h4>
<p>Welp that was quick</p>



<a name="204864899"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204864899" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204864899">(Jul 23 2020 at 23:28)</a>:</h4>
<p>It's not a hassle to publish a new version</p>



<a name="204864950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204864950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nathan Whitaker <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204864950">(Jul 23 2020 at 23:29)</a>:</h4>
<p>A good amount has changed in chalk since the last update, so I <em>think</em> updating rustc to the latest version will be pretty involved.</p>



<a name="204864961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204864961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204864961">(Jul 23 2020 at 23:29)</a>:</h4>
<p>I guess we'll see :)</p>



<a name="204865024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204865024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204865024">(Jul 23 2020 at 23:30)</a>:</h4>
<p><span class="user-mention" data-user-id="323979">@Bram van den Heuvel</span> I think I'll just wait until the automatic release</p>



<a name="204865031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204865031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204865031">(Jul 23 2020 at 23:30)</a>:</h4>
<p>In the meantime, you can just use the git branch</p>



<a name="204865038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204865038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204865038">(Jul 23 2020 at 23:30)</a>:</h4>
<p>(I can point you to an example if you need)</p>



<a name="204865059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204865059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204865059">(Jul 23 2020 at 23:31)</a>:</h4>
<p>If you do finish the upgrade before the automatic release, I can manually bump to not delay the rustc PR</p>



<a name="204865137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204865137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204865137">(Jul 23 2020 at 23:32)</a>:</h4>
<p>I actually think I have a branch with some changes already</p>



<a name="204865458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204865458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204865458">(Jul 23 2020 at 23:37)</a>:</h4>
<p>This branch has some work to upgrade the rustc integration: <a href="https://github.com/jackh726/rust/commits/chalk-next">https://github.com/jackh726/rust/commits/chalk-next</a></p>



<a name="204865506"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204865506" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204865506">(Jul 23 2020 at 23:38)</a>:</h4>
<p>Though, it's based on my subtyping branch, so there is some unrelated changes</p>



<a name="204891258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204891258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204891258">(Jul 24 2020 at 08:33)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/Change.20that.20affects.20both.20chalk.20and.20rustc/near/204865024">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="323979">Bram van den Heuvel</span> I think I'll just wait until the automatic release</p>
</blockquote>
<p>Sure, no problem</p>



<a name="204891358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204891358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204891358">(Jul 24 2020 at 08:34)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/Change.20that.20affects.20both.20chalk.20and.20rustc/near/204865031">said</a>:</p>
<blockquote>
<p>In the meantime, you can just use the git branch</p>
</blockquote>
<p>I've been doing this and am now trying to resolve the first conflict. If this is somewhat important, don't consider this "claimed by me", at this point it's more practice for me than productivity for the project anyway.</p>



<a name="204907495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/204907495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#204907495">(Jul 24 2020 at 12:05)</a>:</h4>
<p>There's no rush with this currently :)</p>



<a name="205297302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/205297302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#205297302">(Jul 28 2020 at 22:17)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> Doing the entire update turned, as feared, to be more than I can handle (short-term). I will pause work on this for two weeks due to other priorities. If that is too long, someone should feel free to take over; a tiny start has been made now in the branch of that <a href="https://github.com/rust-lang/rust/pull/74700">PR</a>. If that PR is still relevant two weeks from now, I'd gladly continue but would need guidance.</p>



<a name="205302267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/205302267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#205302267">(Jul 28 2020 at 23:19)</a>:</h4>
<p>I don't know if anyone is planning on working on this in the next couple weeks.</p>



<a name="205302281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/205302281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#205302281">(Jul 28 2020 at 23:19)</a>:</h4>
<p>If it hasn't been picked up when you get back of course I'll mentor!</p>



<a name="206807566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206807566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206807566">(Aug 13 2020 at 12:17)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> heads up, I'm on this now, questions might come soon.</p>



<a name="206807740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206807740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206807740">(Aug 13 2020 at 12:19)</a>:</h4>
<p>First question: Are there summaries available of what changes from version  to version? I'm upgrading to 15.0 now first, and will be going from there. Of course one can look at something like <a href="https://github.com/rust-lang/chalk/compare/v0.14.0...v0.15.0">this</a>, but a bit of context would be great.</p>



<a name="206819318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206819318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nathan Whitaker <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206819318">(Aug 13 2020 at 14:11)</a>:</h4>
<p>I think <span class="user-mention" data-user-id="232957">@Jack Huey</span> actually ended up working on that (the changes are in <a href="https://github.com/rust-lang/rust/pull/75173">this PR</a>)</p>



<a name="206823030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206823030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206823030">(Aug 13 2020 at 14:41)</a>:</h4>
<p><span class="user-mention" data-user-id="230601">@Nathan Whitaker</span> I see, thanks for letting me know!</p>



<a name="206834301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206834301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206834301">(Aug 13 2020 at 16:02)</a>:</h4>
<p><span class="user-mention" data-user-id="323979">@Bram van den Heuvel</span> sorry :( I had some free time and couldn't help myself</p>



<a name="206834407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206834407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206834407">(Aug 13 2020 at 16:02)</a>:</h4>
<p>If you're still interested in helping out, we can definitely find something for you to work on</p>



<a name="206910394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206910394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206910394">(Aug 14 2020 at 09:04)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> No problem! Yes, I am still interested. If you have something small, that would be great. If you're upgrading to 0.21, maybe I could do 0.22?</p>



<a name="206910421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206910421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206910421">(Aug 14 2020 at 09:04)</a>:</h4>
<p>I found that doing such an upgrade is a great way to learn how rust and chalk interact, although to be honest, I don't think I understand even the basics yet.</p>



<a name="206946697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206946697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206946697">(Aug 14 2020 at 16:13)</a>:</h4>
<p><span class="user-mention" data-user-id="323979">@Bram van den Heuvel</span> 0.22 update should be super small; the only change that made it in was the change from <code>impl Solver</code> -&gt; <code>dyn Solver</code>, which actually might not even need <em>any</em> changes</p>



<a name="206946887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206946887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206946887">(Aug 14 2020 at 16:14)</a>:</h4>
<p>But, whenever generators are merged (<a href="https://github.com/rust-lang-nursery/chalk/issues/593">chalk#593</a>), that'll be a decent thing to implement</p>



<a name="206947157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206947157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206947157">(Aug 14 2020 at 16:16)</a>:</h4>
<p>There's still a lot of <code>unimplemented</code> left, but I'm not sure how much can be added without changes to Chalk and/or rustc</p>



<a name="206947531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206947531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206947531">(Aug 14 2020 at 16:20)</a>:</h4>
<p>In particular, here are some changes on the Chalk side that need to be done:</p>



<a name="206947680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206947680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206947680">(Aug 14 2020 at 16:21)</a>:</h4>
<ul>
<li><code>Variance</code>/subtyping (WIP PR open, needs tests + "generalier")</li>
<li>Placeholder canonicalization</li>
<li>Generators (WIP PR open)</li>
</ul>



<a name="206947706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206947706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206947706">(Aug 14 2020 at 16:22)</a>:</h4>
<p>At least, those are probably the biggest "next steps"</p>



<a name="206947775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206947775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206947775">(Aug 14 2020 at 16:22)</a>:</h4>
<p>(though there are other smaller things to do, in Chalk issues)</p>



<a name="206947860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206947860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206947860">(Aug 14 2020 at 16:23)</a>:</h4>
<p>On the rustc side:</p>
<ul>
<li>Refactoring HRTB and <code>Binder</code> to track <em>all</em> bound lifetimes and later types</li>
<li>Type library extraction</li>
</ul>



<a name="206948024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206948024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206948024">(Aug 14 2020 at 16:24)</a>:</h4>
<p>Then <code>Param</code> handling is a bit up in the air, as to whether we want to modify rustc to use bound vars/placeholders where appropriate, or add the concept to <code>Chalk</code>. I think we've leaned slightly towards modifying rustc, but it isn't clear. This is a bit source of the hackyness of the integration</p>



<a name="206948261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206948261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206948261">(Aug 14 2020 at 16:27)</a>:</h4>
<blockquote>
<p>Placeholder canonicalization</p>
</blockquote>
<p>Right now in the integration, we basically just don't handle this. We <em>could</em> hack around it by instantiating the <code>Obligation</code> on the rustc side, lowering to Chalk, then canonicalizing on the Chalk side.</p>



<a name="206948403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206948403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206948403">(Aug 14 2020 at 16:28)</a>:</h4>
<p>Another thing that's probably worth doing is making the types in <a href="https://github.com/rust-lang/rust/blob/55b9adfafa11b2ced5c0477c949fd875b19b3877/src/librustc_middle/traits/chalk.rs#L64"><code>RustInterner</code></a> <em>actually</em> be interned</p>



<a name="206948417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206948417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206948417">(Aug 14 2020 at 16:28)</a>:</h4>
<p>Now the bug that was preventing that is fixed</p>



<a name="206948484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/206948484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#206948484">(Aug 14 2020 at 16:29)</a>:</h4>
<p>So <span class="user-mention" data-user-id="323979">@Bram van den Heuvel</span> if any of this sounds interesting to you, let me know. A lot of this has bits and pieces done in branches somewhere, so it's not completely from scratch</p>



<a name="207019227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207019227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207019227">(Aug 15 2020 at 12:13)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> thanks for the overview. I'm actually rather looking for the <em>smallest</em> next steps, as I need to be realistic about my knowledge of both chalk and rust. I need to stress that I feel like I don't understand the basics yet. Can you recommend some small unit of work I could take on? Should I just browse Chalk issues? I'll take a look.</p>



<a name="207019817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207019817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207019817">(Aug 15 2020 at 12:29)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> Maybe there are some tests I could write?</p>



<a name="207027037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207027037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207027037">(Aug 15 2020 at 15:47)</a>:</h4>
<p>Actually, <a href="https://github.com/rust-lang/rust/issues/74865">https://github.com/rust-lang/rust/issues/74865</a> is fairly small</p>



<a name="207027051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207027051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207027051">(Aug 15 2020 at 15:47)</a>:</h4>
<p>I left a comment on there on exactly what needs to be done</p>



<a name="207027097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207027097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207027097">(Aug 15 2020 at 15:48)</a>:</h4>
<p>And it'll help you start to think about how the environment in rustc/Chalk works</p>



<a name="207035997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207035997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207035997">(Aug 15 2020 at 19:41)</a>:</h4>
<p>Yes, especially the last comment seems like a good starting point: <a href="https://github.com/rust-lang/rust/issues/74865#issuecomment-668044771">https://github.com/rust-lang/rust/issues/74865#issuecomment-668044771</a></p>



<a name="207037297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207037297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207037297">(Aug 15 2020 at 20:12)</a>:</h4>
<p>I was asking some of those questions in a <a class="stream" data-stream-id="131828" href="/#narrow/stream/131828-t-compiler">#t-compiler</a>  topic</p>



<a name="207037314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207037314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207037314">(Aug 15 2020 at 20:13)</a>:</h4>
<p>whoops, just moved those messages to a new topic</p>



<a name="207154409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/207154409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#207154409">(Aug 17 2020 at 15:02)</a>:</h4>
<p><span class="user-mention" data-user-id="323979">@Bram van den Heuvel</span> When you're around, just ping me if you want to talk in sync</p>



<a name="208453876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/208453876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#208453876">(Aug 29 2020 at 21:02)</a>:</h4>
<p>Update: I'm now looking into the issue proposed by Jack.</p>



<a name="208891534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/208891534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#208891534">(Sep 02 2020 at 21:41)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> if you get a chance tomorrow can you look at <a href="https://github.com/rust-lang/rust/pull/76244">https://github.com/rust-lang/rust/pull/76244</a></p>



<a name="208891557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/208891557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#208891557">(Sep 02 2020 at 21:41)</a>:</h4>
<p>I've done most of the initial review and should be pretty straightforward</p>



<a name="208891574"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/208891574" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#208891574">(Sep 02 2020 at 21:41)</a>:</h4>
<p>(not quite ready now, but will be tomorrow)</p>



<a name="208997250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/208997250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#208997250">(Sep 03 2020 at 16:50)</a>:</h4>
<p>Also <span class="user-mention" data-user-id="116009">@nikomatsakis</span> review comments have been addressed here and should be ready for r+</p>



<a name="209141829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209141829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209141829">(Sep 04 2020 at 21:15)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> still around?</p>



<a name="209141838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209141838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209141838">(Sep 04 2020 at 21:15)</a>:</h4>
<p>Review comments on <a href="https://github.com/rust-lang/rust/issues/76244">#76244</a> have been addressed</p>



<a name="209181687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209181687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209181687">(Sep 05 2020 at 14:54)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> cool, I'm around now</p>



<a name="209244286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209244286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209244286">(Sep 06 2020 at 22:24)</a>:</h4>
<p><span class="user-mention" data-user-id="232957">@Jack Huey</span> I rebased and implemented your suggestions. I'm fairly certain it is okay now.</p>



<a name="209252428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209252428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209252428">(Sep 07 2020 at 02:38)</a>:</h4>
<p>I'll take a look</p>



<a name="209359938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209359938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Bram van den Heuvel <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209359938">(Sep 08 2020 at 08:47)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Reminder, would you mind considering <a href="https://github.com/rust-lang/rust/issues/76244">#76244</a>?</p>



<a name="209424223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209424223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209424223">(Sep 08 2020 at 18:17)</a>:</h4>
<p>I'm inclined to r+ -- <span class="user-mention" data-user-id="232957">@Jack Huey</span> any objections?</p>



<a name="209424322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209424322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209424322">(Sep 08 2020 at 18:18)</a>:</h4>
<p>In particular, the perf seems kind of "Meh" but I think it's a cleaner overall approach, closer to what we will ultimately want</p>



<a name="209424377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209424377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209424377">(Sep 08 2020 at 18:18)</a>:</h4>
<p>No objections :)</p>



<a name="209424443"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209424443" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209424443">(Sep 08 2020 at 18:19)</a>:</h4>
<p>Perf is basically exactly expected from <span class="user-mention" data-user-id="120989">@njn</span>'s investigation</p>



<a name="209424475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/Suitable%20first%20contribution%20task/near/209424475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/Suitable.20first.20contribution.20task.html#209424475">(Sep 08 2020 at 18:19)</a>:</h4>
<p>And yes, this <em>is</em> the approach that I think we want</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>